#include "gather_task.h"
#include "start_task.h"
TaskHandle_t gatherHandle;
// 采集任务
void gatherTask(void* param)
{
    while (1)
    {
        GatherData source;
        // 温湿度
        DHT11_Read_Data(&source.temp, &source.humi);
        printf("orginal data: temp = %d humi = %d\r\n", source.temp, source.humi);
        // 烟雾
        source.smoke = Get_ADC_Value(ADC_Channel_8,1);
        // 光敏
        source.sunshine = Get_ADC_Value(ADC_Channel_9, 1);
        // 水滴
        source.raidrop = DATA_PIN_READ == 0 ? 0 : 1;
        dataHandle(&source);
        vTaskDelay(2000);
    }
}
// 任务初始化
void gather_init()
{
    // 温湿度传感器
    DHT11_Init();

    // 光敏传感器
    ADCx_Init();

    // 烟雾传感器 初始化同光敏传感器

    // 雨滴传感器 外部传感器模块初始化
    Rain_Init();
    Extern_Module_Init();
}
// 创建任务
void createGatherTask()
{
    xTaskCreate(
        gatherTask,
        "gatherTask",
        128,
        NULL,
        2,
        &gatherHandle
    );
}